tg-me.com/orgprog/296
Last Update:
Вчера в твиттере спросил как кто организует локальный https для своих проектов? Сразу отвечу на вопрос, зачем. Например вебворкеры, oauth, вебхуки и разные другие штуки работают только по https. Во-вторых, это влияет на конфигурацию (генерация ссылок например) и лучше когда продакшен и дев в этом смысле не отличаются.
Значит что мы получили. Самый частый вариант mkcert. Эта штука позволяет одной командой сгенерить самоподписные доверенные сертификаты под нужные домены. Действительно удобно, если сертификат нужен доверенный.
mkcert -install
Created a new local CA 💥
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊
$ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1
Created a new certificate valid for the following names 📜
- "example.com"
- "*.example.com"
- "example.test"
- "localhost"
- "127.0.0.1"
- "::1"
The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem"
Эта штука решает проблему сертификатов, но но решеает проблему конфигурации веб-сервера. Дальше все равно придется гуглить как это подключить к проекту и ставить перед ним например nginx.
Другой вариант это туннелирование с помощью ngrok.io, и аналогов. Хороший вариант, заодно позволяет дать доступ к проекту снаружи для взаимодействия с другими системами и тестирования. Большая часть таких утилит работает только если у вас есть интренет, хотя там подсказали https://www.localcan.com/ который умеет и локальный сетап (выглядит кстати круто). Мы кстати, конкретно для хекслета решили просто вести разработку в облаках, я даже на конфе выступал с таким докладом: https://www.youtube.com/watch?v=WVjz0HcAWOs
Дальше была куча разного рода устаревших штук (которые не обновляются) + те кто по старинке в рукопашную. Видимо когда-то научились и так продолжают.
Ну и последний вариант, которым я пользуюсь уже лет пять, это использование веб-сервера Caddy для локальной разработки. Этот вариант, кстати, возможно самый популярный судя по ответам. Тут все максимально просто, вот пример конфигурации code-basics.com, где за сертификат отвечает ровно одна строчка.
https://code-basics.test {
# Enable gzip and other compression
encode gzip zstd
reverse_proxy /vite-dev/* http://127.0.0.1:3036
reverse_proxy http://127.0.0.1:3100
# Automatic HTTPS
tls internal
}
Класс, да? Ничего не надо генерировать. Все делается само. Единственный недостаток, это то, что сетификат не доверенный. Придется в браузере жмякать “все равно зайти” (сафари по дефолту не дает так сделать).
p.s. Кстати, вы знаете почему использовать .local для локальной разработки нельзя? Правильно .test
Ссылки: Телеграм | Youtube | VK
BY Организованное программирование | Кирилл Мокевнин

Share with your friend now:
tg-me.com/orgprog/296